function Game(el) {
    this.t=null
    this.el = document.querySelector(el)
    this.map = new Map(this.el) 
    this.map.create() 
    this.food = new Food(this.el) 
    this.food.create() 
    this.snake = new Snake(this.el) 
    this.snake.create() 
}
Game.prototype.start = function(){
    clearInterval(this.t)
    this.t=setInterval(()=>{
        this.snake.move()
        let snakeX = this.snake.snakeObj[0].x * 20
        let snakeY = this.snake.snakeObj[0].y * 20
        let foodX = this.food.foodX
        let foodY = this.food.foodY
        let anniu=document.querySelector('.sile button')
        anniu.onclick=()=>{
            location.reload()
        }
         if(snakeY<0||snakeY>this.el.clientHeight-20||snakeX<0||snakeX>this.el.clientWidth-20) {
          alert('游戏结束')
          clearInterval(this.t)
        }
        let snakeTou=this.snake.snakeObj[0]
            for(let i=1;i<this.snake.snakeObj.length;i++){
                if(snakeTou.x==this.snake.snakeObj[i].x&&snakeTou.y==this.snake.snakeObj[i].y){
                    alert('游戏结束')
                    clearInterval(this.t)
                }
            }
                if (snakeX == foodX && snakeY == foodY) {
                    let last = this.snake.snakeObj[this.snake.snakeObj.length - 1]
                    this.snake.snakeObj.push({
                        x: last.x, 
                        y : last.y, 
                        color: last.color, 
                        el:null
                    })
                    this.snake.create() 
                    this.food.move()
                }
            }, 150)
    document.addEventListener('keydown', (evt) => {
        let e = evt || window.event
        switch (e.keyCode) {
            case 38:
                this.snake.direction = 'top'
                break;
            case 40:
                this.snake.direction = 'bottom'
                break;
            case 37:
                if (this.snake.direction == 'right') {
                    alert('游戏结束')
                }
                this.snake.direction = 'left'
                break;
            case 39:
                this.snake.direction = 'right'
                break;
            default:
                break;
        }
    })
}
Game.prototype.stop=function(){
    clearInterval(this.t)
}